
local unit_attribute = require 'types.unit_attribute'
local attribute = unit_attribute.field
local excel = load_excel('挑战设定.xlsx','升级奖励')
for _,data in ipairs(excel) do
    local _,attr = data.str_fmt:match('(%|[cC]%w%w%w%w%w%w%w%w)(.-)(%|[Rr])')
    if attribute[attr]==nil then
        log.error('错误属性注册',k)
    end
    data.attr = attr
end

ac.game:event '单位-添加词条选择'(function(_,hero)
    local player = hero.owner
    
    local func = function ()
        local info = {}
        for _,temp in ipairs(excel) do
            if temp['限制数量']==0 or hero:get_data(temp.name,0)<temp['限制数量'] then
                table.insert(info,temp)
            end
        end
        local list = {}
        for a,temp in ipairs(table.random_table(info,3)) do
            local num = temp.data1 + temp['每次递增'] * hero:get_data(temp.name,0)
            local tip = temp.str_fmt:format(num)
            list[a] = {
                name = temp.name,
                title = tip,
                num = num,
                key = temp.attr,
            }
        end
        return list
    end
    
    player:notify('玩家-添加升级词条',player,func,function(temp,index)
        hero:add(temp.key,temp.num)
        hero:set_data(temp.name,hero:get_data(temp.name,0) + 1)
    end)
end)
ac.game:event '单位-英雄升级'(function(_,hero)
    if hero.level%2==0 then
        return
    end
    hero:notify('单位-添加词条选择',hero)
end)
